package com.fzshang.shopping.commen.service;

import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpService;

/**
 * @author 张子艺
 * @packge com.xbxkj.service
 * @data 2019-06-03 11:36
 * @project Metaphysics
 */
public interface XbxWxService {
    /**
     * 功能配置
     * @return
     */
    WxMpInMemoryConfigStorage   config();
    /**
     * 支付插件配置
     * @return
     */
    WxPayConfig payConfig(int flag);

    /**
     * 功能插件服务
     * @return
     */
    WxMpService getWxService();

    /**
     * 咨询支付插件服务
     * @return
     */
    WxPayService getConsultationWxPayService();

    /**
     * 问答支付插件服务
     * @return
     */
    WxPayService getQuestionsWxPayService();

    /**
     *  咨询    向用户发送大师已接单模板消息
     * @return
     * @throws WxErrorException
     */
     // boolean sendMeetOrderTemplet(Long orderId, String msg)throws WxErrorException;

    /**
     * 咨询   向大师发送咨询新订单提醒模板消息
     * @return
     * @throws WxErrorException
     */
      //boolean sendSocketTempletMSG(NewOrderTemplatData newOrderTemplatData)throws WxErrorException;

    /**
     *问答  向大师发送问答新订单提醒模板消息
     * @return
     * @throws WxErrorException
     */
    //boolean questions(NewOrderTemplatData newOrderTemplatData)throws WxErrorException;

    /**
     * 问答  向用户发送大师已回复问答 提醒模板消息
     * @param    订单ID
     * @param typeStr 提问类型字符串  例如：身体健康
     * @return
     * @throws WxErrorException
     */
    //boolean rallbackQuestions(NewOrderTemplatData newOrderTemplatData)throws WxErrorException;


    /**
     * @param newOrderTemplatData
     * @return 审核失败给用户发送模板消息
     * @throws WxErrorException
     */
    //boolean failure(NewOrderTemplatData newOrderTemplatData)throws WxErrorException;



    /**
     * 支付 生成咨询预付订单
     */
      WxPayMpOrderResult mpPayOrder(int moeny, String orderNum, String openId) throws WxErrorException, WxPayException;
    /**
     * 支付 生成问答预付订单
     */
      //WxPayMpOrderResult mpQuestionsPayOrder(int moeny, String orderNum, String openId) throws WxErrorException, WxPayException;

}
